#ifndef IA_ROBOT_H
#define IA_ROBOT_H

#include "constantes.h"
#include <QStack>

class PathMap;

class IA_Robot{
    public:
        IA_Robot(Landscape carte, long ordre);
        ~IA_Robot();

        RetR process(D4R data);
        void actionPeon(const D4R &data);
        void retour(long action, long cible, M_Position pos, std::vector<std::string> msg);
        void allerA(M_Position destination);
        QVector<M_Position> path(M_Position);

    private:
        R_Model m_model;
        int m_type; // Type « à nous »

        long m_pv;
        long m_energie;

        R_Cargo m_soute;

        Landscape m_carte;

        M_Position m_position;
        M_Position m_mission;

        QStack<M_Position> m_pileDeplacement;
        QStack<M_Position> m_pileDestination;

        RetR m_retour;

        std::vector<std::string> msg;

        bool canChangeDest;

				PathMap *mPathMap;
};

#endif
